1. Field of the Invention
This invention relates to a data transmission apparatus which converts parallel data, of which transmission data items each have a fixed length, and transmission timing is designated as desired, into serial data at designated timing, to deliver the serial data.
2. Prior Art
A serial data transmission method in which transmission data and timing data determining the transmission timing of the transmission data are read as a pair of parallel data, and then the transmission data is converted into data in a serial form, and transmit the same at designated timing, is widely used, e.g. in transmission of MIDI (Musical Instrument Digital Interface) data and the like. In this kind of data transmission method, how to realize transmission time intervals (hereinafter referred to as "transmission intervals") with accuracy is important, not to mention the contents of data to be transmitted. Conventionally, the transmission intervals are accurately controlled by means of software to input and output the transmission data.
However, the conventional method using software to control the transmission intervals suffers from a problem that interrupt processing to measure the transmission intervals causes an increased load on a CPU (Central Processing Unit) which controls the data transmission by the software. Further, according to the conventional method, it is not necessarily possible to obtain accurate and faithful data transmission intervals due to a delay time occurring in processing by a transmission circuit, a phase difference between the transmission timing and a shift clock for serial transmission, and so forth.
On the other hand, although the timing data (hereinafter referred to as "time data") specifying the transmission intervals and the transmission data (hereinafter referred to as "the main data") which is transmitted upon lapse of each transmission interval specified by the time data are given to a data transmission apparatus which implements the method, as a pair of parallel data items as mentioned above, the timing of start of measurement of the transmission interval specified by the timing data and the timing of transmission of the main data are different from each other in themselves, which increases load on the CPU for adjustment of the timing. Further, although a memory can be provided as a data buffer for the adjustment of the timing, there still remains a problem that even in such a case there is a difference in timing between readout of the time data and readout of the main data, which complicates the hardware construction and the address control.